import http from './http'

/**
 * 获取排行榜数据
 * @param {String} type - 排行榜类型：DURATION(运动时长)、CALORIES(卡路里)、GOAL_COMPLETION(目标完成率)
 * @param {Number} limit - 返回数量限制
 * @param {String} timeRange - 时间范围：DAY(日榜)、WEEK(周榜)、MONTH(月榜)、YEAR(年榜)
 * @returns {Promise} - 排行榜数据
 */
export function getRankings(type = 'DURATION', limit = 10, timeRange = 'MONTH') {
  return http.get('/api/statistics/rankings', {
    params: { type, limit, timeRange }
  })
}

/**
 * 获取健身时长排行榜
 * @param {Number} limit - 数量限制
 * @param {String} timeRange - 时间范围
 * @returns {Promise}
 */
export function getDurationRankings(limit = 10, timeRange = 'MONTH') {
  return getRankings('DURATION', limit, timeRange)
}

/**
 * 获取卡路里消耗排行榜
 * @param {Number} limit - 数量限制
 * @param {String} timeRange - 时间范围
 * @returns {Promise}
 */
export function getCaloriesRankings(limit = 10, timeRange = 'MONTH') {
  return getRankings('CALORIES', limit, timeRange)
}

/**
 * 获取目标完成率排行榜
 * @param {Number} limit - 数量限制
 * @param {String} timeRange - 时间范围
 * @returns {Promise}
 */
export function getGoalCompletionRankings(limit = 10, timeRange = 'MONTH') {
  return getRankings('GOAL_COMPLETION', limit, timeRange)
} 